<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns:u="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui" xmlns="http://www.w3.org/1999/xhtml">

<body>
	<u:composition template="/pages/layout/pageLayout.xhtml">
		<u:define name="body">
			<h:form id="form">
				<p:panel id="panelFiltro" rendered="#{!productoController.addEdit}">
					<h:panelGrid columns="5">
						<h:outputText value="Descripcion: " />
						<p:inputText value="#{productoController.productoQuery.detalle}">
						</p:inputText>
						<h:outputText value="Familia" />
						<p:selectOneMenu id="comboFamiliaQuery"
							value="#{productoController.productoQuery.familiaID}">
							<f:selectItem itemLabel="Todas" itemValue="" />
							<f:selectItems value="#{productoController.listaDeFamilia}"
								var="family" itemValue="#{family.id}"
								itemLabel="#{family.descripcion}" />
						</p:selectOneMenu>

						<p:commandButton value="Consultar"
							actionListener="#{productoController.query}" update="dataTable">
						</p:commandButton>
					</h:panelGrid>
				</p:panel>

				<h:outputText value="&#160;" />

				<p:growl id="messages" life="5000" />
				<p:dataTable id="dataTable" var="producto"
					value="#{productoController.lazyDM}" paginator="true" rows="10"
					paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
					rowsPerPageTemplate="10,15,20"
					rendered="#{!productoController.addEdit}"
					emptyMessage="No se encontraron registros" dynamic="true"
					lazy="true" widgetVar="productTable">

					<f:facet name="header">
						<h:outputText value="#{msgs.admProducto_title}" />
					</f:facet>

					<p:column>
						<f:facet name="header">
							<h:outputText value="Nombre" />
						</f:facet>
						<h:outputText value="#{producto.detalle}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="Familia" />
						</f:facet>
						<h:outputText value="#{producto.familia.descripcion}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="Marca" />
						</f:facet>
						<h:outputText value="#{producto.marca.descripcion}" />
					</p:column>

					<p:column style="width:80px">
						<f:facet name="header">
							<h:outputText value="Opciones" />
						</f:facet>
						<h:panelGrid columns="3">
							<p:commandLink actionListener="#{productoController.edit}"
								update=":form">
								<h:graphicImage url="/resources/images/edit.gif"
									title="Modificar" style="border:0px" />
							</p:commandLink>
							<h:commandLink actionListener="#{productoController.delete}"
								onclick="return confirm('¿Está seguro de eliminar el registro?');">
								<h:graphicImage url="/resources/images/delete.gif"
									title="Eliminar" style="border:0px" />
							</h:commandLink>
						</h:panelGrid>
					</p:column>

					<f:facet name="footer">
						<p:commandButton value="Agregar"
							actionListener="#{productoController.add}" update=":form" />
					</f:facet>
				</p:dataTable>


				<h:panelGrid id="panel" columns="1"
					rendered="#{productoController.addEdit}">

					<p:tabView id="tabView" widgetVar="tabView">
						<p:tab title="Producto">

							<p:focus for="detalleIT" />
							<p:panelGrid columns="2">
								<h:panelGrid columns="3" columnClasses="top, top, top">

									<h:outputText value="Nombre" />
									<p:inputText id="detalleIT"
										value="#{productoController.productoView.detalle}" size="50">
										<f:validateBean for="detalleIT" />
									</p:inputText>
									<h:message id="descIT" for="detalleIT" />

									<h:outputText value="Codigo Producto" />
									<p:inputText id="codigoProductoIT"
										value="#{productoController.productoView.codigoProducto}"
										size="50">
										<f:validateBean for="codigoProductoIT" />
									</p:inputText>
									<h:message id="codProductoIT" for="codigoProductoIT" />

									<h:outputText value="Unidad de Medida" />
									<p:selectOneMenu id="comboUnidadDeMedida"
										value="#{productoController.productoView.unidadDeMedida.id}">
										<f:selectItem itemLabel="-- Seleccione --" itemValue="" />
										<f:selectItems
											value="#{productoController.listaDeUnidadDeMedida}"
											var="unit" itemValue="#{unit.id}"
											itemLabel="#{unit.descripcion}" />
										<f:validateBean for="comboUnidadDeMedida" />
									</p:selectOneMenu>
									<h:message id="unitIT" for="comboUnidadDeMedida" />

									<h:outputLabel for="peso" value="Peso " />
									<p:spinner id="peso"
										value="#{productoController.productoView.peso}" min="0"
										stepFactor="0.50" size="30" />
									<h:message id="pesoIT" for="peso" />

									<h:outputText value="Familia" />
									<p:selectOneMenu id="comboFamilia"
										value="#{productoController.productoView.familia.id}">
										<f:selectItem itemLabel="-- Seleccione --" itemValue="" />
										<f:selectItems value="#{productoController.listaDeFamilia}"
											var="family" itemValue="#{family.id}"
											itemLabel="#{family.descripcion}" />
										<f:validateBean for="comboFamilia" />
									</p:selectOneMenu>
									<h:message id="familyIT" for="comboFamilia" />

									<h:outputText value="Marca" />
									<p:selectOneMenu id="comboMarca"
										value="#{productoController.productoView.marca.id}">
										<f:selectItem itemLabel="-- Seleccione --" itemValue="" />
										<f:selectItems value="#{productoController.listaDeMarca}"
											var="trade" itemValue="#{trade.id}"
											itemLabel="#{trade.descripcion}" />
										<f:validateBean for="comboMarca" />
									</p:selectOneMenu>
									<h:message id="tradeIT" for="comboMarca" />

									<h:outputText value="Envase" />
									<p:selectOneMenu id="comboEnvase"
										value="#{productoController.productoView.envase.id}">
										<f:selectItem itemLabel="-- Seleccione --" itemValue="" />
										<f:selectItems value="#{productoController.listaDeEnvase}"
											var="cover" itemValue="#{cover.id}"
											itemLabel="#{cover.descripcion}" />
										<f:validateBean for="comboEnvase" />
									</p:selectOneMenu>
									<h:message id="coverIT" for="comboEnvase" />

									<h:outputLabel for="minimo" value="Stock minimo " />
									<p:spinner id="minimo"
										value="#{productoController.productoView.stockMinimo}" />
									<h:message id="minimoIT" for="minimo" />

									<h:outputLabel value="Descripcion: " />
									<p:inputTextarea rows="5" cols="30" counter="display"
										maxlength="500" counterTemplate="{0} caracteres disponibles."
										autoResize="false"
										value="#{productoController.productoView.descripcion}" />
									<h:outputText />
									<h:outputText />
									<h:outputText id="display" />

								</h:panelGrid>

								<h:panelGrid columns="1">
									<h:panelGrid columns="2">

										<h:outputLabel value="Foto " />
										<p:fileUpload
											fileUploadListener="#{productoController.handleFileUpload}"
											mode="advanced" update=":form:messages,panelImagen"
											sizeLimit="1000000000" allowTypes="/(\.|\/)(jpg|JPG)$/"
											auto="true" label="Elegir"
											invalidFileMessage="Tipo de archivo invalido. El archivo debe ser JPG."
											invalidSizeMessage="El tamaño del archivo es incorrecto. El tamaño máximo es 1000000000 bytes. " />

									</h:panelGrid>

									<h:graphicImage id="panelImagen"
										value="#{productoController.serverUrl}/archivos/#{productoController.productoView.nombreArchivo}"
										width="300" height="300" />

								</h:panelGrid>
							</p:panelGrid>
						</p:tab>
					</p:tabView>


					<!-- ================================================== -->
					<!-- Opciones											-->
					<!-- ================================================== -->
					<h:panelGrid columns="2">
						<p:commandButton value="Guardar"
							actionListener="#{productoController.save}" update=":form">
						</p:commandButton>
						<p:commandButton value="Volver"
							actionListener="#{productoController.cancel}" immediate="true"
							update=":form">
						</p:commandButton>
					</h:panelGrid>
				</h:panelGrid>
			</h:form>
		</u:define>
	</u:composition>
</body>
</html>